package com.sx.entity.system;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sx.basic.BasicEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;

import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;

/**
 * @author AdinZ
 * @date 2020/11/7 10:13
 */
@Data
@TableName(value = "sx_role")
@Entity
@Table(name = "sx_role")
public class RoleEntity  extends BasicEntity {
    public static final Object KEY = "sx_role";
    @Id
    @GeneratedValue
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 多平台时,可用,
     * 0 可系统平台,
     * 其他  可以是店铺, 代理商, 等等 ,其他管理后台的角色
     */
    @ApiModelProperty("用户方id")
    private long tid=0;
    @ApiModelProperty("角色名称")
    private String roleName;
    @ApiModelProperty("角色说明")
    private String remark;

    /**
     * JSON 数组集 转字符串的
     */
    @ApiModelProperty("菜单id数组")
    @Column(columnDefinition = "text")
    private String menuId;

    @Enumerated(value = EnumType.STRING)
    private Type type=Type.SYSTEM;

    public List<Long> getMenuIds(){
        if(!StringUtils.isEmpty(menuId))    {
            List<Long> list= JSON.parseArray(this.menuId,Long.class);
            return list;
        }
        return new ArrayList<>();
    }
    public enum Type{
        SYSTEM
    }

}
